#!/usr/bin/python3


#列表是有序的对象集合，字典是无序的对象集合。两者之间的区别在于：字典当中的元素是通过键来存取的，而不是通过偏移存取
dict_test = {}
dict_test['one'] = "1 - 菜鸟教程"
dict_test[2] = "2 - 菜鸟工具"

tinydict_test = {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}

for var in tinydict_test:
    print(var)                      # 字典在访问时，取得的是key值
    print(tinydict_test[var])            # key值可以再次 dict[key] 直接访问
print('--------------------------------------------------------------------------')

print(dict_test['one'])       # 输出键为 'one' 的值
print(dict_test[2])           # 输出键为 2 的值
print(tinydict_test)          # 输出完整的字典
print(tinydict_test.keys())   # 输出所有键
print(tinydict_test.values())  # 输出所有值


print("------------------------")
# 构造函数 dict() 可以直接从键值对 元组列表 中构建字典

dic = dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
print(dic)

dic = {x: x**2 for x in [2, 4, 6]}
print(dic)

dic = dict(sape=4139, guido=4127, jack=4098)
print(dic)

print("------------------------")
# 遍历的一种方法 关键字和对应的值可以使用 items() 方法同时解读出来
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k,v in knights.items():
    print(k,v)
